package com.insight.dto.graph;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 关系图节点DTO
 * 表示数据库表节点
 *
 * @author Insight Team
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GraphNode {

    /**
     * 表ID
     */
    private Long tableId;

    /**
     * 表名
     */
    private String tableName;

    /**
     * 表注释(业务含义)
     */
    private String tableComment;

    /**
     * 表模式/数据库名
     */
    private String tableSchema;

    /**
     * 节点类型(center, parent, child)
     * center: 中心表
     * parent: 父表(被引用的表)
     * child: 子表(引用其他表的表)
     */
    private String nodeType;

    /**
     * 距离中心节点的深度(用于布局)
     * 0: 中心节点
     * 1: 直接相连节点
     * 2+: 间接关系节点
     */
    private Integer depth;
}
